package com.yuandian.customer.perception.service;

import com.yuandian.api.customer_perception.po.AreaMonitorParams;
import com.yuandian.api.customer_perception.vo.AreaOverviewListVo;
import com.yuandian.api.customer_perception.vo.HallOverviewListVo;
import com.yuandian.api.customer_perception.vo.OperatorOverviewListVo;
import com.yuandian.bpm.common.core.util.R;

import java.util.List;

/**
 * <p> 地市监控总览 service接口 </p>
 *
 * @Author: LinSheHi
 * @Date: 2021/8/16 10:03
 */
public interface IAreaMonitorService {

    /**
     * 查询全省总览
     * @param params 查询全省总览请求参数
     * @return 通用返回对象
     */
    R<Object> queryAllAreaOverview(AreaMonitorParams params);

    /**
     * 全地市受理量TOP5
     * @param params 请求参数
     * @return 通用返回对象
     */
    R<Object> queryAllAreaCompleteCountTop(AreaMonitorParams params);

    /**
     * 全地市告警量TOP5
     * @param params 请求参数
     * @return 通用返回对象
     */
    R<Object> queryAllAreaAlarmCountTop(AreaMonitorParams params);

    /**
     * 全地市总览列表
     * @param params 请求参数
     * @return 通用返回对象
     */
    R<Object> queryAllAreaOverviewList(AreaMonitorParams params);

    /**
     * 办事处总览列表
     * @param params 请求参数
     * @return 通用返回对象
     */
    R<Object> queryAllHallOverviewList(AreaMonitorParams params);

    /**
     * 操作员总览列表
     * @param params 请求参数
     * @return 通用返回对象
     */
    R<Object> queryAllOperatorOverviewList(AreaMonitorParams params);

    /**
     * 全地市总览列表下载
     * @param params 请求参数
     * @return 通用返回对象
     */
    List<AreaOverviewListVo> queryAllAreaOverviewListExport(AreaMonitorParams params);

    /**
     * 办事处总览列表下载
     * @param params 请求参数
     * @return 通用返回对象
     */
    List<HallOverviewListVo> queryAllHallOverviewListExport(AreaMonitorParams params);

    /**
     * 操作员总览列表下载
     * @param params 请求参数
     * @return 通用返回对象
     */
    List<OperatorOverviewListVo> queryAllOperatorOverviewListExport(AreaMonitorParams params);

}
